package _06_动态规划;

import java.util.HashMap;
import java.util.Map;

public class _1218_最长定差子序列 {

    // 使用map记录上一个等差数列出现的次数
    public int longestSubsequence(int[] arr, int difference) {
        Map<Integer, Integer> dp = new HashMap<>();
        int max = 1;
        for (int i : arr) {
            int value = dp.getOrDefault(i - difference, 0) + 1;
            dp.put(i, value);
            // 记录中间的最大值
            max = Math.max(max, value);
        }
        return max;
    }

}
